home *** CD-ROM | disk | FTP | other *** search
-
-
- -= BoulderDash V1.1 User Manual =-
-
- September 14, 1994
-
-
-
- ==========
- Contents
- ==========
-
- 1. About the game
- 2. Installation
- 3. Menus
- 4. Playing the game
- 5. Cheat keys
- 6. File formats
- 6.1 Game files
- 6.2 Config file
- 7. Known bugs.
- 8. What's up next ?
- 9. History
- 10. Thanks..
-
-
- ===================
- 1. About the Game
- ===================
-
- "Yet another BoulderDash !", I can hear you scream. We all know the
- game from those early days on the C64, spectrum and other computers, so why
- does anybody wants to (re)make this old game ? Well simply because it's one
- of the best games ever made.
-
- This BoulderDash version has the following features:
-
- * NEEDS (and uses) 68020+, AGA (or better) ChipSet, Kickstart V39,
- asl.library and powerpacker.library.
-
- * Intuition friendly with full multitasking. At last you can play your
- favorite game while compiling etc...
-
- * Smooth scrolling
-
- * The famous (and cool) C64 graphics
-
- * The famous C64 sounds.
-
- * User definable games and levels
-
- * Joystick and keyboard control
-
- * Cheat options
-
- * Two player game option
-
- * About 1275(!) original C64 levels included for you to complete...
-
-
- BoulderDash was written in C, except for the Interrupts which were written
- in Assembler. All code developed on an Amiga 1200(+4MB 120HD) with SAS/C 6.3,
- Devpac 3 and CED.
-
- The sounds were sampled by me (Wim) on 20 kHz. The intro-music contains
- the exact tables as are used in the C64 version.
-
- The graphics were converted and adjusted by me without using any
- utilities ! (I converted them by hand due to the fact that I was to lazy to
- use (write) a utility).
-
- The intropicture was scanned by Luc De Cock from the cover of the
- original of BoulderDash II (thanks). Luc will use my C source to make a
- PC version in the near future.
-
- This version of is shareware, this means that if you use it a lot I would
- appreciate it if you'd send me a contribution of $10 US or the same amount in
- any other currency. This money will enable me to produce more programs on the
- Amiga and continue to improve this game. Please send money by international
- money order, EuroCheck (in Belgian Francs (BF) !!!!!) or cash, it's difficult
- for me to cash in other checks.
-
- Since I am constantly adding new features to the game, I accept all
- suggestions, improvements and bug reports. You can contact me at :
-
- Wim Taymans
- Weesbeekdal 3
- 3071 Erps-Kwerps
- Belgium.
-
-
- NOTE: I am aware of a few copyright violations (ripping graphics, sound,
- ideas). Please do not spoil my fun, I had a great time making this
- game. Many Amiga users I know are happy to play this game once again.
-
- ONE MORE NOTE : If this game is ever put on a cover disk of any magazine, I
- will be very happy to receive a copy of that magazine. Donations in
- the form of money are welcome too :').
-
-
-
- ==================
- 2. Installation
- ==================
-
- Installation is simple, just place the file 'BDash' somewhere in your
- 'Games' directory under the new directory 'BoulderDash' or something like
- that. You can copy the levels in that same directory.
-
- The config file is searched for in de S: directory and the current directory
- (in that order). I suggest you let the original config file in the current
- directory, start the game, set your preferences and select the Save Prefs
- option, this way a new config file will be created in the S: directory and you
- still have the original config file.
-
- A Hiscore file will be created in the current directory if you select the
- Save HiScore option.
-
- You can start the game by typing 'BDash' or by clicking it's icon from
- the WorkBench.
-
-
- ==========
- 3. Menus
- ==========
-
- When the intropicture appears, you can use the following menus and
- menuitems :
-
- 'Project'-menu:
- ---------------
-
- About... (?) - Shows you some information.
- Open game... (g) - Shows a file requester and lets you
- select which game to load.
- Play game (p) - When a game is loaded, you can play it
- starting with level a/1.
- This item is ghosted when no game is
- loaded.
- Show Scores... (h) - Shows you the all time heroes...
- Save Scores - Saves the current Scores in the current dir.
- Quit (q) - Quits the game (you will never need this
- option 8^) ).
-
- 'Prefs'-menu:
- -------------
-
- Speed - The 'Speed'-item lets you select the
- speed of the game. Since there is still
- some work to do to get the speed as close
- to the C64 version as possible, the
- subitems provide some control over the
- delay between successive moves.
- Blitzz - way too fast but very funny.
- Very fast - yeah, this ones cool
- Fast - I use this one
- Normal - For a normal playable game.
- Slow - A bit too slow.
- Yawn - ...ZZ.. oh yes, only for very difficult
- levels (and patient players).
-
- Players
-
- 1 Player - To select a one player game
- 2 Players - Play a two player game
-
-
- Cheat - If Checked, you will have all the powers
- in the universe (see section 5)
-
- Smooth scroll - If Checked, the scrolling of the levels
- will be smooth. Unchecking this item will
- result in jumpy scrolling, but in less
- CPU-time (see important note in section 7)
-
- Big Screen - Will open the game in a big screen so you can
- see the complete level.
-
- Sound - when BoulderDash starts, it will try to
- allocate as many channels as possible. If
- at least one channel was allocated, this
- item will be checked.
- Unchecking this item will free all
- allocated channels (letting other
- programs make use of them.
- Checking this item will (re)allocate as
- many channels as possible.
-
- AutoSave Scores - Will save the highscores when a new entry is
- entered. Unchecking this option will save no
- highscores, so you must save them whenever you
- want using the 'Save Scores' menu option.
-
- Load Prefs - Will reload the preferences.
-
- Save Prefs - Will save the current settings.
-
-
-
- The following menus will only appear when a game was successfully loaded.
-
-
- XXX-menu: - The XXX contains the name of the loaded
- --------- game as specified in the game file (see
- section 6).
-
- cavename1 - For each loaded cave/intermission there
- . will be a menuitem. When an item is
- . selected, you will start a new game in
- . this cave/intermission.
- cavenameN
-
-
- 'Level'-menu:
- -------------
-
- 1 - For each level in the game file, there
- . will be a menuitem. Checking a level will
- . cause the game to start in that level.
- .
- M
-
-
-
- =====================
- 4. Playing the game
- =====================
-
- Playing the game can be done using the keyboard or (if allocation
- succeeded) the joystick in port 2.
-
- To control the game with the keyboard, you can use the cursor keys.
-
- 'eating-without-walking' is done by pressing down the fire-button or
- using the shift-key and move the joystick (pressing the cursor keys) in the
- desired direction.
-
- Some in game keys:
-
- * 'P' or 'Space' to Pause the game. Press 'Space' to resume or 'Esc' to
- return to the menu.
-
- * 'Esc' to restart the level (and loose one life). Handy if you're
- trapped or found out you did something wrong.
-
-
-
- ===============
- 5. Cheat keys
- ===============
-
- BoulderDash has some very powerful cheat keys and options. Many of
- them make the levels stupid and I recommend to use them sparingly.
-
- When the 'Cheat'-item is Checked, you can use the following cheat keys when
- playing the game.
-
- * 'a' - Lets the amoeba (the blobbing thing) grow very fast or
- normal (whatever it was not currently doing).
-
- * 'd' - Pick all diamond in the level.
-
- * 'e' - Explode all enemies.
-
- * 'k' - Kill (remove) all enemies.
-
- * 'n' - Go to the next level.
-
- * 't' - Reset the time.
-
- * 'f' - fast forward. (useful for long waiting for amoebe etc.)
-
-
- You can also use the mouse as follows:
-
- * Left mouse-button to clear the place under the pointer.
-
- * Right mouse-button to place a boulder under the pointer.
-
-
- You can safely activate your window by clicking on Rockford.
-
-
-
- =================
- 6. File formats
- =================
-
- ----------------
- 6.1 Game Files
- ----------------
-
- BoulderDash uses an extensive file-format to describe the levels and
- games. The general game-format has the following form :
-
-
- <Game> = "BoulderGame(" <Game description> ")"
-
- <Game description> = <Game Name> "," ((<Cave> | <Intermission>) "," ...)
- <Game Name> = "GameName(" <string> ")"
-
- <Cave> = "Cave(" <Cave description> ")"
- <Intermission> = "Intermission(" <Cave description> ")"
-
- <Cave description> = <Cave Name> "," <Map descriptions> "," (<Level>","...)
-
- <Cave Name> = "Name(" <string> ")"
-
- <Map description> = "Maps(" <Maps> "," ... ")"
- <Maps> = <Mapline>, ...
- <Mapline> = """ <Mapelement> , ... """
- <Mapelement> = a | b | c | d | g | j | l | m | r | s | v | w | B | X | S |
- <space>
-
- <Level> = "Level(" <LevelOptions> ")"
- <LevelOptions> = ( "AmoebaBreak(" <int> ")" |
- "DiaPoints(" <int> ")" |
- "ExtraPoints(" <int> ")" |
- "DiaReq(" <int> ")" |
- "Time(" <int> ")" |
- "SlimePerm(" <int> ")" |
- "Colors(" <int> "," <int> "," <int> ")" |
- "Map(" <int> ")" ) "," ...
-
-
- String (<string>) are always enclosed in double quotes. Integers range
- from 0 to 999 or 99 depending on how many digits are reserved in the
- scorebar. The C64 version uses all unsigned bytes (0..255) for these
- values, so I suggest you use these values too.
-
- Comments can be put in the description file between #'s.
-
- I tried to make the input format as flexible as possible by using a
- textual representation of the games and levels (take a look at a game file
- to see what I mean). This will allow people to use a text editor to edit
- and create new levels instead of writing a whole new level-editing program
- (if somebody has some time left, he/she has my moral support).
-
- Lets take a look at what the various keywords mean. Note that the
- keywords in the input file are case independent. Strings are case
- dependant.
-
- ex.:
- BoulderGame( GameName("MyBoulder", ...
- - We have a bouldergame here with the name
- "My Boulder". This name is the text that
- will appear in the menubar.
-
- Next we need to specify the caves for this game. There are two kinds of
- caves.
-
- * Caves : have a dimension of 40 (x direction) by 22 and HAVE to be
- completed to proceed to the next level.
-
- * Intermission : have a dimension of 20 (x direction) by 12 and don't
- have to be completed to proceed to the next level. When the
- player reaches an intermission he/she is granted an extra life.
-
- Caves or intermissions can be specified with:
-
- ex.:
- Cave( Name("CoolCave"), ....
- Intermission( Name("DigThis !"), ....
-
- To make a Cave called "CoolCave" and an Intermission called "DigThis !"
- respectively. The Names of the Caves and Intermissions will appear as the
- menuitems in the 'GameName'-menu.
-
- Caves (and Intermissions) have Maps, which defines the world of
- Rockford. With the 'Maps' keyword, you can specify the different worlds for
- this Cave/Intermission. The different maps are separated with commas. Each
- line of a map is enclosed in double quotes (").
- A map line consists of map elements, this are the actual objects that
- will appear in the Cave/Intermission when playing the game. BoulderDash
- knows the following objects (preceded by their map element) :
-
- <space> = empty
- a = an Amoeba.
- b = a boulder
- c = a growing wall.
- d = a diamond
- g = ground
- j = Rockford (do not use)
- l = slime
- m = magic wall
- r = rectangular enemy
- s = steel
- v = a butterfly
- w = wall
- B = Background
- X = exit
- S = start
-
- ex.:
- Maps( "ggggggbggbggggSgggdggggggggggggggggggggg"
- "gggggsgggggggggggggggggggggggggggggXgggg"
- ,
- "ssssssssssssssssssssssssssssssss"
- "s S d s"
- "s d X s"
- "ssssssssssssssssssssssssssssssss"
- )
-
- declares two maps of different sizes. The map you specify first has number
- 0, the next one has number 1, etc... This will be important in a while..
-
-
- Note that the size of the maps depends on whether you specify them for
- a Cave or an Intermission. The game uses the following dimensions :
-
- * Cave dimensions : 40 (width) x 22 (height)
- * Intermission dimensions : 20 (width) x 12 (height)
-
- specifying maps of different size will either crop the map or fill the
- non specified objects with Steel ('s')
-
- After you have specified the maps, you can build different levels with
- them. A level will define how the maps are used in the game.
- A new level definition is started with the 'Level' keyword. Between
- braces follow the different characteristics of this level. You can
- currently influence game characteristics with the following keywords :
-
- * AmoebaBreak(x) - the Amoeba will grow slowly 'till the
- size x is reached, it will then continue
- to grow at a high speed. an amoeba turns
- into stone if it reaches the size of 200.
- * DiaPoints(x) - defines the points for each diamond you
- pick.
- * ExtraPoints(x) - after picking the required number of
- diamonds to complete a level, you get x
- points for every extra diamond you pick.
- * DiaReq(x) - You must at least pick x diamonds to
- complete this level. The exit will become
- free if you pick more than x diamonds.
- * Time(x) - The time to complete this level.
- * SlimePerm(x) - Set the permeability of the slime. x is a
- value between 0 and 8. 0 is maximum
- permeability.
- * Colors(c1, c2, c3 ) - Defines the colors for this level. The
- colors are numbered like the C64 palette
- which is : Black=0, White=1, Red, Cyan,
- Purple, Green, Blue, Yellow, Orange,
- Brown, Light Red, Dark Grey, Medium Grey,
- Light Green, Light Blue, Light Grey=15.
- * Map(x) - With the 'Maps'-keyword you specified the
- different maps for this level and with
- this keyword you specify witch map you
- would like to use for this level. The map
- you specified first with the
- 'maps'-keyword has number 0.
-
- ex:
- Level(AmoebaBreak(30), DiaPoints(20), ExtraPoints(30), DiaReq(20),
- Time(120), Colors(6,14,1), Map(0))
-
- A new level is defined with characteristics as stated above. The colors
- are blue, light blue and white. A reference to map 0 is made, meaning that
- this level uses map 0 as defined with the 'Maps'-keyword.
-
- Different Levels can be declared for the same Cave/Intermission. When
- you specify several levels, The first one you declare should contain
- every keyword that is relevant in this level. For the other levels you
- declare, you only have to declare new options.
-
- ex:
- Level(AmoebaBreak(30), DiaPoints(20), ExtraPoints(30), DiaReq(20),
- Time(120), Colors(6,14,1), Map(0)),
- Level(Time(100), Map(1))
-
- Declares two levels for this Cave/Intermission. The second level has the
- same characteristics as the first one except for the Time and the map.
-
- For a good example of Game-files, I suggest taking a look at the games
- found with this package.
-
-
- -----------------
- 6.2 Config File
- -----------------
-
- BDASH will search for a Config file called BDASH.config in your S: directory
- and in your current directory. The config file consists of Keywords followed by
- a value. Following keywords and values are recognised :
-
- Keyword Value
- ----------------------------------------------------------------
-
- SPEED BLITZ | VERYFAST | FAST | NORMAL | SLOW | YAWN
- - Sets the speed as specified in the menus
-
- NUMPLAYERS 1 | 2
- - Sets the number of players
-
- CHEAT TRUE | FALSE
- - Sets the cheat mode
-
- SMOOTHSCROLL TRUE | FALSE
- - Sets the smoothscroll option
-
- BIGVIEW TRUE | FALSE
- - Sets the Bigscreen option
-
- SOUND TRUE | FALSE
- - Specifies if sound is to be allocated
-
- JOYSTICKWARN TRUE | FALSE
- - Gives a warning if no joystick is available
-
- SOUNDWARN TRUE | FALSE
- - Gives a warning if no sound is available
-
- AUTOSAVESCORES TRUE | FALSE
- - Sets the autosavescores option
-
- TASKPRI -128..127
- - Sets the priority of the main game (0 default)
-
- SCOREPRI -128..127
- - Sets the priority of the scoretask (-1 default)
-
- EXTRALIFEPRI -128..127
- - Sets the priority of the extralifetask (-2 default)
-
- GAMESPATH "Work:Games/BoulderDash/BoulderGames"
- - Tells BDASH where to find the gamefiles
-
-
-
- ===============
- 7. Known bugs
- ===============
-
- * There seem to be some serious problems when you try to pull down the
- screen (or flip screen ) when the game is scrolling. I don't know if
- this can be corrected in the future. Do *always* wait for the scrolling
- to stop before pulling down or changing screens.
- This bug does not appear when you uncheck the 'Smooth scroll'-item in
- the menu.
-
- * This game was designed to work on a DOUBLENTSC-screen in a 176*200
- resolution. 'Force-monitoring' doublentsc screens to other
- resolutions result in (sometimes) strange effects. This bug is due to
- the fact that some hardware-copper instructions are use to close the
- borders and move the screen. One of my next concerns is to use some
- more Intuition friendly ways than copper-lists to arrange the
- soft-scrolling. I still have to think about that.
-
- * The smooth scrolling worked perfect on my A1200 (+4MB) by seemed to
- slightly shiver on the accelerated A1200 (equipped with a 68030 and
- 68882) of a friend. It seemed like the interrupt was handled a bit
- too fast so that changes to the viewport were done while it was being
- drawn. This will probably be fixed in the future.
-
- * The C64 version was able to animate several Rockfords at the same
- time because it had the (oh so good) feature of character animation.
- This feature is not supported in this version so some levels may be
- unplayable (BoulderDash4,intermission 1 actually).
-
-
-
- =====================
- 8. What's up next ?
- =====================
-
- * Bug Fixes. I suspect you'll find dozens more. Suggestions and bug
- reports are very welcome.
-
- * A cool feature would be to play the game in a little window on the
- WorkBench screen (or some other Public Screen). I need to reconvert
- the graphics for maximum effect. I've already started drawing some cool
- graphics, but it's not finished yet.
-
- * the HiScores should contain more information like the time, name of the
- game, level, the options etc..
-
- * A keyword in the gamefile to specify the initial demogame.
-
-
-
- ============
- 9. History
- ============
-
- V1.1
- ------
-
- Modifications since V1.0 are:
-
- - Butterflies do work as on the C64. CPU-time is depending on the number
- of Butties in the level.
-
- - A Config file is included to set your preferences.
-
- - HiScore loader/saver.
-
- - Fast forward option in cheat mode.
-
- - Powerpacker game files will be decrunched automatically.
-
- - NORMAL speed is more like the C64 version now.
-
-
- V1.0
- ------
-
- First release.
-
-
- ============
- 10. Thanks
- ============
-
- Thanks to Luc De Cock for providing the different levels. Note that
- these levels are ripped from the Bouldercollection which was provided with
- the (excellent) C64 emulator for the IBM-PC computer. Thanks for the
- scanned intro picture. See you..
-
- Thanks to Commodore for making the Amiga.
-
-
-
- (c) 1994 Wim Taymans.
-